# 作者: 陈其志 
# 2025年02月22日09时02分17秒 
# 2716847110@qq.com
import os
from time import strftime
from time import gmtime


def use_rename():
    os.rename('dir_01/file3', 'dir_01/file4')


def use_remove():
    os.remove('dir_01/file4')


def use_mkdir():
    os.mkdir('dir_02')  # 文件夹已经存在时，不可以再进行创建，会报错


def use_rmdir():
    """
    只能删除空目录
    :return:
    """
    os.rmdir('dir_02')


def use_listdir():
    print(os.listdir('../'))


def use_chdir():
    """
    改变路径
    :return:
    """
    print(os.getcwd())
    os.chdir('..')
    print(os.getcwd())


def scan_dir(path, width):
    """
    目录深度优先遍历
    :return:
    """
    # 打印当前目录下所有的文件和目录
    file_name_list = os.listdir(path)
    for file_name in file_name_list:
        print(' ' * width + file_name)
        # 拼接现在的路径
        new_path = path + '/' + file_name
        if os.path.isdir(new_path):  # 是文件夹返回True
            scan_dir(new_path, width + 5)  # 每递归一次，向后推4


def use_stat():
    file_info = os.stat('file1')
    print('size{},uid{},mode{:x},mtime{}'.format(file_info.st_size, file_info.st_uid, \
                                                 file_info.st_mode, file_info.st_mtime))

    # 把秒数转为字符串时间
    print(strftime("%Y-%m-%d %H:%M:%S", gmtime(file_info.st_mtime)))


if __name__ == '__main__':
    # use_rename()
    # use_remove()
    # use_mkdir()
    # use_listdir()
    # use_rmdir()
    # use_chdir()
    # 深度优先遍历
    # scan_dir('.', 5)
    use_stat()
